
/**
 * hijack_page_object 页面对象劫持
 * options 对象传入参数
*/
const hijack_page_object = (options = {}) => {
  const { onLoad, onUnload } = options;
  options = {
    ...options,
    collectClick(opts){
      // 页面点击埋点
      console.log('页面点击埋点')
      // 点击埋点逻辑
    },
    collectPage(opts){
      // 页面生命周期埋点
      console.log('页面生命周期埋点')
      // 生命周期埋点逻辑
    },
    jumpNextPage(url){
      // 全局页面跳转方法
      wx.navigateTo({url})
      // 埋点跳转点击
      this.collectClick({})
    },
    onLoad(opts){
      onLoad && onLoad.call(this)
      console.log('全局页面生命周期！')
      // 埋点
      this.collectPage({
        "lifeCycle": "onLoad",
        "loadTime": +new Date()
      })
    },
    onUnload(){
      onUnload && onUnload.call(this)
      // 埋点
      this.collectPage({
        "lifeCycle": "onUnload",
        "loadTime": +new Date()
      })
    }
  }
  return options;
}

module.exports = hijack_page_object;